<template>
  <view class="container">

    <div class="logo-box">
      <img src="@/static/logo.png" alt="">
    </div>
    <div class="logo-name">
      <div class="e-name">EasyLaw</div>
      <div class="c-name">法行通</div>
    </div>
    <view class="wrapper">
      <view class="input-content">
        <view class="input-item">
          <text class="tit">账号</text>
          <input
              :value="phone"
              placeholder="请输入账号"
              data-key="phone"
              @input="inputChange"
          />
        </view>
        <view class="input-item">
          <text class="tit">密码</text>
          <input
              :value="password"
              placeholder-class="input-empty"
              maxlength="20"
              password
              data-key="password"
              @input="inputChange"
          />
        </view>
      </view>
      <button class="confirm-btn" @click="toLogin" :disabled="logining"> Login</button>
      <button class="confirm-btn" @click="toRegist" :disabled="logining"> To Register</button>
    </view>
    <view class="register-section">
      Logging in implies your agreement to the
      User <span class="light" @click="routeTo">'Agreement'</span> and <span class="light" @click="routeTo">'Service Policy'</span>
    </view>
  </view>
</template>

<script>
import {
  mapMutations
} from 'vuex';

export default{
  data(){
    return {
      phone: '',
      password: '',
      logining: false
    }
  },
  onLoad(){

  },
  methods: {
    ...mapMutations(['login']),
    inputChange(e){
      const key = e.currentTarget.dataset.key;
      this[key] = e.detail.value;
    },
    navBack(){
      uni.navigateBack();
    },
    toRegist(){
      this.$u.route({
        type: 'navigateTo',
        url: '/pages/user/register'
      })
    },
    routeTo(){
      this.$u.route({
        type: 'navigateTo',
        url: '/pages/user/loginService'
      })
    },
    async toLogin(){
      const {phone, password } = this;
      const sendData = {
        username: phone,
        password,
        type: 0
      };
      this.$api.login(sendData).then(res => {
        this.login(res);
        // 判断前面有缓存页面，如果有则返回，没有则跳转到首页
        const pages = getCurrentPages();
        console.log(pages)
        if (pages.length > 1) {
          uni.navigateBack();
        } else {
          this.$u.route({
            type: 'switchTab',
            url: '/pages/index/index'
          })
        }
      }).catch(err => {
        this.$errMsg(err);
      })
    }
  },

}
</script>

<style lang='scss'>
.container{
  padding-top: 120rpx;
  position:relative;
  width: 100vw;
  height: 100%;
  overflow: hidden;
  background: #fff;
  .logo-box {
    text-align: center;
    margin-bottom: 60rpx;
    img {
      width: 240rpx;
    }
  }
  .logo-name {
    text-align: center;
    .e-name {
      font-size: 46rpx;
      line-height: 36rpx;
      font-weight: bold;
    }
    .c-name {
      font-size: 34rpx;
      margin: 32rpx 0;
    }
  }
}
.wrapper{
  position:relative;
  z-index: 90;
  background: #fff;
  padding-bottom: 40upx;
  margin-top: 120rpx;
}
.back-btn{
  position:absolute;
  left: 40upx;
  z-index: 9999;
  padding-top: var(--status-bar-height);
  top: 40upx;
  font-size: 40upx;
  color: $font-color-dark;
}
.left-top-sign{
  font-size: 120upx;
  color: $page-color-base;
  position:relative;
  left: -16upx;
}
.right-top-sign{
  position:absolute;
  top: 80upx;
  right: -30upx;
  z-index: 95;
  &:before, &:after{
    display:block;
    content:"";
    width: 400upx;
    height: 80upx;
    background: #b4f3e2;
  }
  &:before{
    transform: rotate(50deg);
    border-radius: 0 50px 0 0;
  }
  &:after{
    position: absolute;
    right: -198upx;
    top: 0;
    transform: rotate(-50deg);
    border-radius: 50px 0 0 0;
    /* background: pink; */
  }
}
.left-bottom-sign{
  position:absolute;
  left: -270upx;
  bottom: -320upx;
  border: 100upx solid #d0d1fd;
  border-radius: 50%;
  padding: 180upx;
}
.welcome{
  position:relative;
  left: 50upx;
  top: -90upx;
  font-size: 46upx;
  color: #555;
  text-shadow: 1px 0px 1px rgba(0,0,0,.3);
}
.input-content{
  padding: 0 60upx;
}
.input-item{
  display:flex;
  flex-direction: column;
  align-items:flex-start;
  justify-content: center;
  padding: 0 30upx;
  background:$page-color-light;
  height: 120upx;
  border-radius: 4px;
  margin-bottom: 50upx;
  &:last-child{
    margin-bottom: 0;
  }
  .tit{
    height: 50upx;
    line-height: 56upx;
    font-size: $font-sm+2upx;
    color: $font-color-base;
  }
  input{
    height: 60upx;
    font-size: $font-base + 2upx;
    color: $font-color-dark;
    width: 100%;
  }
}

.confirm-btn{
  width: 630upx;
  height: 76upx;
  line-height: 76upx;
  border-radius: 5px;
  margin-top: 70upx;
  background: rgb(254,149,66);
  color: #fff;
  font-size: $font-lg;
  &:after{
    border-radius: 100px;
  }
}
.forget-section{
  font-size: $font-sm+2upx;
  color: $font-color-spec;
  text-align: center;
  margin-top: 40upx;
}
.register-section{
  position:absolute;
  left: 0;
  bottom: 120rpx;
  width: 100%;
  font-size: 28rpx;
  line-height: 48rpx;
  color: $font-color-base;
  text-align: center;
  .light{
    color: $font-color-spec;
    padding: 0 5px;
  }
}
</style>
